# -*- coding:utf-8 -*-
"""
作者：王凯
日期：2024年06月12日
"""

import requests  # 导入requests库
import re  # 导入正则表达式库
from urllib.parse import urljoin  # 导入urljoin函数
import os  # 导入os库

head = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0"
        }  # 设置请求头
url = input("请输入目标网址：")  # 目标网址
html = requests.get(url, headers=head)  # 发送请求，获取网页内容

regrule = r'<img .*?src="(.*?\.jpg|.*?\.png|.*?\.gif)"'  # 正则表达式规则

imgre = re.compile(regrule)  # 编译正则表达式
print(imgre)  # 打印正则表达式
urls = imgre.findall(html.text)  # 匹配图片链接
print(urls)  # 打印图片链接
save_dir = 'F:/pachong/img/2'  # 保存目录
if not os.path.exists(save_dir):  # 如果不存在保存目录，则创建
    os.makedirs(save_dir)  # 创建保存目录
n = 0  # 计数器
for img_url in urls:  # 遍历图片链接
    n += 1  # 计数器加1
    img_url = urljoin(url, img_url)  # 补全图片链接
    r = requests.get(img_url, headers=head)  # 发送请求，获取图片内容
    filename = os.path.join(save_dir, os.path.basename(img_url))  # 保存图片文件名
    with open(filename, 'wb') as f:  # 保存图片文件
        f.write(r.content)  # 写入图片内容
    print(f'保存图片： {filename}, {len(r.content)} 字节')  # 打印保存信息
print(f'共保存 {n} 张图片')  # 打印图片数量
